#include <stdio.h>
#include <math.h>

int main()
{
    int num, temp, sum = 0, n = 0;

    printf("请输入一个整数： ");
    scanf("%d", &num);

    temp = num;

    // 计算数字的位数
    while (temp != 0)
    {
        temp /= 10;
        n++;
    }

    temp = num;

    // 计算各位数字的n次幂之和
    while (temp != 0)
    {
        int digit = temp % 10;
        sum += pow(digit, n);
        temp /= 10;
    }

    // 判断是否为水仙花数
    if (sum == num)
    {
        printf("%d 是水仙花数", num);
    }
    else
    {
        printf("%d 不是水仙花数\n", num);
    }

    return 0;
}
